package com.ruoyi.system.domain;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 【请填写功能名称】对象 crm_customer
 * 
 * @author ruoyi
 * @date 2020-10-12
 */
@Data
public class CrmUser extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 客户主键id */
    private Long id;

    /** 添加人 */
    @Excel(name = "添加人")
    private Long createUser;

    /** 修改人 */
    @Excel(name = "修改人")
    private Long updateUser;

    /** 0 禁用 1启用 */
    @Excel(name = "0 禁用 1启用")
    private Integer status;

    /** 0 未删除  1 已删除 */
    @Excel(name = "0 未删除  1 已删除")
    private Integer isDelete;

    /** 客户名称 */
    @Excel(name = "客户名称")
    private String cusName;

    /** 头像 */
    @Excel(name = "头像")
    private String cusAvatarUrl;

    /** 客户联系方式 */
    @Excel(name = "客户联系方式")
    private String cusPhone;

    /** 客户所在地址 */
    @Excel(name = "客户所在地址")
    private String cusAddress;

    /** 客户定位地址 */
    @Excel(name = "客户定位地址")
    private String cusLocationAddress;


    /** $column.columnComment */
    @Excel(name = "省")
    private String cusProvinceCode;

    /** $column.columnComment */
    @Excel(name = "市")
    private String cusCityCode;

    /** $column.columnComment */
    @Excel(name = "区")
    private String cusAreaCode;

    /** $column.columnComment */
    @Excel(name = "街道")
    private String cusStreetCode;

    /** 经纬度（,分割） */
    @Excel(name = "经纬度", readConverterExp = ",=分割")
    private String cusLalg;

    /** 客户公司名称 */
    @Excel(name = "客户公司名称")
    private String cusCompanyName;

    /** 客户职位 */
    @Excel(name = "客户职位")
    private String cusPosition;

    /** 客户邮箱 */
    @Excel(name = "客户邮箱")
    private String cusEmail;

    /** 客户行业 */
    @Excel(name = "客户行业")
    private String cusIndustry;

    /** 客户生日 */
    @Excel(name = "客户生日")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date cusBirthday;


    /** 客户性别  0 保密 1 男 2 女 */
    @Excel(name = "客户性别  0 保密 1 男 2 女")
    private Integer cusGender;

    /** 客户标(json) */
    @Excel(name = "客户标(json)")
    private String cusLabel;

    private List<CCustomerLabel> cCustomerLabelList;

    /** 所在分组 */
    @Excel(name = "客户分组id")
    private Long cusGroupId;
    private CrmGroup crmGroup;
    /**
     * 客户来源 介绍人
     */
    private Long  cusResources;
    private CrmUser cusResourcesUser;
    private String cusLabelName;
    //来源方式0是手动录入1是批量导入通讯录
    private Integer  joinInfo;
    //最新一条跟进记录
    private Long  lastRecordId;
    private String cusIndustryName;

    private String cusUserInitals;

    private Integer age;//年龄
    private String chineseZodiac;//属相
    private String constellation;//星座

    private String presentAddress;
    private String presentCode;
    private String hometownCode;
    private String hometownAddress;

    public String getCusLabelName() {
        return cusLabelName;
    }

    public void setCusLabelName(String cusLabelName) {
        this.cusLabelName = cusLabelName;
    }

    public String getCusIndustryName() {
        return cusIndustryName;
    }

    public void setCusIndustryName(String cusIndustryName) {
        this.cusIndustryName = cusIndustryName;
    }

    /** 模糊查询关键字 */
    private String title;

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getCusStreetCode() {
        return cusStreetCode;
    }

    public void setCusStreetCode(String cusStreetCode) {
        this.cusStreetCode = cusStreetCode;
    }

    public String getCusProvinceCode() {
        return cusProvinceCode;
    }

    public void setCusProvinceCode(String cusProvinceCode) {
        this.cusProvinceCode = cusProvinceCode;
    }

    public String getCusCityCode() {
        return cusCityCode;
    }

    public void setCusCityCode(String cusCityCode) {
        this.cusCityCode = cusCityCode;
    }

    public String getCusAreaCode() {
        return cusAreaCode;
    }

    public void setCusAreaCode(String cusAreaCode) {
        this.cusAreaCode = cusAreaCode;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }

    public void setCreateUser(Long createUser)
    {
        this.createUser = createUser;
    }

    public Long getCreateUser()
    {
        return createUser;
    }
    public void setUpdateUser(Long updateUser)
    {
        this.updateUser = updateUser;
    }

    public Long getUpdateUser()
    {
        return updateUser;
    }
    public void setStatus(Integer status)
    {
        this.status = status;
    }

    public Integer getStatus()
    {
        return status;
    }
    public void setIsDelete(Integer isDelete)
    {
        this.isDelete = isDelete;
    }

    public Integer getIsDelete()
    {
        return isDelete;
    }
    public void setCusName(String cusName)
    {
        this.cusName = cusName;
    }

    public String getCusName()
    {
        return cusName;
    }
    public void setCusAvatarUrl(String cusAvatarUrl)
    {
        this.cusAvatarUrl = cusAvatarUrl;
    }

    public String getCusAvatarUrl()
    {
        return cusAvatarUrl;
    }
    public void setCusPhone(String cusPhone)
    {
        this.cusPhone = cusPhone;
    }

    public String getCusPhone()
    {
        return cusPhone;
    }
    public void setCusAddress(String cusAddress)
    {
        this.cusAddress = cusAddress;
    }

    public String getCusAddress()
    {
        return cusAddress;
    }
    public void setCusLalg(String cusLalg)
    {
        this.cusLalg = cusLalg;
    }

    public String getCusLalg()
    {
        return cusLalg;
    }
    public void setCusCompanyName(String cusCompanyName)
    {
        this.cusCompanyName = cusCompanyName;
    }

    public String getCusCompanyName()
    {
        return cusCompanyName;
    }
    public void setCusPosition(String cusPosition)
    {
        this.cusPosition = cusPosition;
    }

    public String getCusPosition()
    {
        return cusPosition;
    }
    public void setCusEmail(String cusEmail)
    {
        this.cusEmail = cusEmail;
    }

    public String getCusEmail()
    {
        return cusEmail;
    }
    public void setCusIndustry(String cusIndustry)
    {
        this.cusIndustry = cusIndustry;
    }

    public String getCusIndustry()
    {
        return cusIndustry;
    }
    public void setCusBirthday(Date cusBirthday)
    {
        this.cusBirthday = cusBirthday;
    }

    public Date getCusBirthday()
    {
        return cusBirthday;
    }
    public void setCusGender(Integer cusGender)
    {
        this.cusGender = cusGender;
    }

    public Integer getCusGender()
    {
        return cusGender;
    }
    public void setCusLabel(String cusLabel)
    {
        this.cusLabel = cusLabel;
    }

    public String getCusLabel()
    {
        return cusLabel;
    }

    public String getCusLocationAddress() {
        return cusLocationAddress;
    }

    public void setCusLocationAddress(String cusLocationAddress) {
        this.cusLocationAddress = cusLocationAddress;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("createTime", getCreateTime())
                .append("updateTime", getUpdateTime())
                .append("createUser", getCreateUser())
                .append("updateUser", getUpdateUser())
                .append("status", getStatus())
                .append("isDelete", getIsDelete())
                .append("cusName", getCusName())
                .append("cusAvatarUrl", getCusAvatarUrl())
                .append("cusPhone", getCusPhone())
                .append("cusLocationAddress", getCusLocationAddress())
                .append("cusAddress", getCusAddress())
                .append("cusLalg", getCusLalg())
                .append("cusCompanyName", getCusCompanyName())
                .append("cusPosition", getCusPosition())
                .append("cusEmail", getCusEmail())
                .append("cusIndustry", getCusIndustry())
                .append("cusBirthday", getCusBirthday())
                .append("cusGender", getCusGender())
                .append("cusLabel", getCusLabel())
                .append("cusStreetCode", getCusStreetCode())
                .append("cusProvinceCode", getCusProvinceCode())
                .append("cusCityCode", getCusCityCode())
                .append("cusAreaCode", getCusAreaCode())
                .toString();
    }
}
